home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
TPUG Xtras
/
Xtras
/
termprog.d64
/
64 to 64
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2009-02-04
|
3KB
|
98 lines
0 OPEN2,2,0,CHR$(6)+CHR$(0):OPEN15,8,15
10 REM*****************************
20 REM*** SEND/RECIEVE ***
30 REM*** BY JOE BOOTH SEP83 ***
40 REM*** SEND AND REIEVE USING ***
50 REM*** TWO C64 THROUGHT THE ***
60 REM*** PHONE LINES ***
70 REM*** USING PROTOCAL SIMILAR***
80 REM*** TO STEVE PUNTER ***
90 REM*****************************
100 :
110 REM >>>>>>>>>MENU<<<<<<<<<<<<<<
120 POKE53280,0:POKE53281,0:B=0
130 PRINT"[147]S[146]END OR R[146]ECIEVE OR E[146]XIT"
140 PRINT"SELECT (R/S/E):";
150 GETA$:IFA$<>"R"ANDA$<>"S"ANDA$<>"E"THEN150
160 PRINTA$:IFA$<>"E"THEN240
170 CLOSE2:CLOSE15:PRINT"GOODBYE!!!!"
180 PRINT"IF YOU HAVE ANY QUESTIONS OR"
190 PRINT"PROBLEMS WITH THIS PROGRAM,"
200 PRINT"CONTACT JOE BOOTH THROUGHT"
210 PRINT"ANY OF THESE BBS....."
220 PRINT"PSI-WORDPRO":PRINT"BURLINGTON BBS"
230 END
240 IFA$="R"THEN1000
250 GOTO500
260 REM>>>CONVERT A BYTE FOR SENDING<<<
270 REM A0=ASC(BYTE):A0$,A1$=OUTPUT OF THAT BYTE
275 CK=CK+A0
280 Z0=(INT(A0/16))+65:Z1=(A0-(Z0-65)*16)+65
290 A0$=CHR$(Z0):A1$=CHR$(Z1):RETURN
300 REM>>>DO THE OPPISITE CONVERT BACK<<<
310 REM A0$,A1$=INPUT FROM MODEM:A0=ASC(BYTE)
320 Z0=ASC(A0$)-65:Z1=ASC(A1$)-65
330 A0=Z0*16+Z1:CK=CK+A0:RETURN
340 REM>>>>WAIT, SEND BYTE<<<
345 GET#2,A$:IFA$<>"C"ANDA$<>"Z"THEN345
346 IFA$="Z"THEN2000
350 PRINT#2,A0$;:FORA=1TO40:NEXT
360 PRINT#2,A1$;
380 RETURN
390 REM>>>WAIT FOR BYTE,SEND SIGNAL<<<
395 GET#2,A$:IFA$<>""THEN395
400 T0=0:PRINT#2,"C";
410 GET#2,A0$:IFA0$<>""THEN420
412 IFT0>10THEN400
414 T0=T0+1:GOTO410
420 GET#2,A1$:IFA1$=""THEN420
430 RETURN
490 :
500 REM******************************
510 REM*** SEND WHATEVER ************
520 REM******************************
530 PRINT"NAME OF THE PROGRAM";:INPUTFL$
540 PRINT"[147]FILE : "FL$
550 PRINT"WHAT TYPE OF FILE IS IT:"
560 PRINT"P[146]ROGRAM":PRINT"S[146]EQ.":PRINT"W[146]ORD PRO":PRINT"U[146]SER"
570 PRINT"SELECT (P/S/W/U)"
580 GETA$:IFA$<>"P"ANDA$<>"S"ANDA$<>"W"ANDA$<>"U"THEN580
590 PRINT"[147]FILE : "FL$TAB(30)"TYPE : "A$:TY$=A$:PRINT:CK=0
600 IFTY$="W"THENTY$="P"
610 OPEN1,8,14,FL$+","+TY$+",R":INPUT#15,DS$:DS=VAL(DS$):IFDS<>0THEN
620 PRINT"STARTING TRANSMITTION":PRINT"BYTES SENT"
630 PRINT#2,TY$;:GET#2,A$:IFA$<>TY$THEN630
640 REM SEND
650 GET#1,A0$:IFA0$=""THENA0$=CHR$(0)
660 IFST<>0THEN680
670 A0=ASC(A0$):GOSUB260:GOSUB340:B=B+1:PRINTB"[157] [145]":GOTO650
680 GOSUB800:A0$="+":A1$="+":GOSUB340:CLOSE1:GOTO100
800 IFTY$<>"P"THENRETURN
810 FORZ9=1TO3:A0=0:GOSUB260:GOSUB340:NEXT:RETURN
1000 :
1010 REM******************************
1020 REM*** RECIEVE WHATEVER ***
1030 REM******************************
1040 INPUT"NAME OF FILE";FL$
1045 PRINT"RECIEVING":PRINT"BYTES RECIEVE"
1050 GET#2,TY$:IFTY$<>"S"ANDTY$<>"P"ANDTY$<>"U"THEN1050
1055 FORA=1TO20:PRINT#2,TY$;:NEXT
1060 OPEN1,8,14,FL$+","+TY$+",W"
1070 INPUT#15,DS$:DS=VAL(DS$):IFDS<>0THEN3000
1080 GOSUB390:IFA0$="+"ANDA1$="+"THEN1120
1090 IFA0$<"A"ORA0$>"Q"THEN1300
1100 IFA1$<"A"ORA1$>"Q"THEN1300
1105 B=B+1:PRINTB"[157] [145]"
1110 GOSUB300:PRINT#1,CHR$(A0);:GOTO1080
1120 CLOSE1
1190 PRINT"PRESS RETURN TO CONTINUE"
1200 GETA$:IFA$<>CHR$(13)THEN1200
1210 GOTO100
1300 CLOSE1:PRINT"BAD TRANSMITTION"
1310 PRINT"TELLING SENDER TO ABORT..ONE MINUTE"
1320 PRINT#2,"Z":GET#2,A$:IFA$<>"O"THEN1320
1330 PRINT"SEND HAS BEEN NOTIFIED":GOTO1190
2000 PRINT#2,"O";:CLOSE1:PRINT"RECEIVER HAS REQUESTED"
2010 PRINT"ABORTING, REQUEST GRANTED":GOTO1190
3000 PRINT"DISK ERROR";DS:GOTO1300